import java.util.Arrays;
import java.util.Iterator;

public class Sort {
	public static void main(String[] args) {
		int[] arr = { 3, 2, 6, 8, 1, 45, 7, 1, -1, -3 };
		Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));
		//bubble(arr);
		select(arr);
		System.out.println(Arrays.toString(arr));
		
	}

	static void bubble(int[] arr) {
		//控制经历的轮次
		for (int i = 0; i < arr.length-1; i++) {
			//把最大元素交换到未排序的数组的最右边
			for (int j = 0; j < arr.length-1-i; j++) {
				if (arr[j] > arr[j + 1]) {
					swap(arr, j, j + 1);
				}
			}
		}

		// 第一轮
//		for (int i = 0; i < arr.length - 1; i++) {
//			if (arr[i] > arr[i + 1]) {
//				wap(arr, i, i + 1);
//			}
//		}
//
//		// 第二轮
//		for (int i = 0; i < arr.length - 1 - 1; i++) {
//			if (arr[i] > arr[i + 1]) {
//				wap(arr, i, i + 1);
//			}
//		}

	}

	static void swap(int[] arr, int i, int j) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}
	
	
	static void select(int[] arr) {
		
		for (int i = 0; i < arr.length-1; i++) {
			int minIndex = i;
			for (int j = i; j < arr.length; j++) {
				if (arr[j] < arr[minIndex]) {
					minIndex = j;
				}
			}
			swap(arr, minIndex, i);
			
		}
		
//		System.out.println("第一轮");
//		int minIndex = 0;
//		
//		for (int i = 0; i < arr.length; i++) {
//			if (arr[i] < arr[minIndex]) {
//				minIndex = i;
//			}
//		}
//		swap(arr, minIndex, 0);
//		System.out.println(Arrays.toString(arr));
//		System.out.println("第二轮");
//		minIndex = 1;
//		for (int i = 1; i < arr.length; i++) {
//			if (arr[i] < arr[minIndex]) {
//				minIndex = i;
//			}
//		}
//		
//		swap(arr, minIndex, 1);
//		System.out.println(Arrays.toString(arr));
//		
//		
//		System.out.println("第三轮");
//		minIndex = 2;
//		for (int i = 2; i < arr.length; i++) {
//			if (arr[i] < arr[minIndex]) {
//				minIndex = i;
//			}
//		}
//		
//		swap(arr, minIndex, 2);
//		System.out.println(Arrays.toString(arr));
	}
}
